home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 July / EnigmA AMIGA RUN 09 (1996)(G.R. Edizioni)(IT)[!][issue 1996-07 & 08][EARSAN CD VIII].iso / earcd / gcc / ixemlsdk.rdm < prev    next >
Text File  |  1996-06-17  |  7KB  |  175 lines

  1. Short:    IXemul 43.1 - developer's tool kit
  2. Author:   various
  3. Uploader: fnf@ninemoons.com
  4. Type:     dev/gcc
  5.  
  6. This is ixemul.library release 43.1, a shared library that makes it possible
  7. to compile and run most Unix programs under AmigaOS with almost no changes.
  8. IXemul is part of the ADE (Amiga Developer's Environment), a community
  9. effort to produce a complete development environment that is stable,
  10. available in source, and completely self-hosting.  See the ADE readme file
  11. at ftp://ftp.ninemoons.com/pub/ade/README for more details about ADE.
  12.  
  13. IXemul includes Jeff Shepherd's networking code.  If ixnet.library
  14. (included) is installed then ixemul.library will use the networking
  15. functions from the ixnet.library, instead of the default dummy
  16. implementation.  Ixnet.library works with AS225 and with AmiTCP.  It
  17. supports both clients and daemons.  A program that uses networking functions
  18. is completely shielded from the AS225 and AmiTCP differences by
  19. ixnet.library, which will take care of all the details for you. That means
  20. that there is no longer any need to provide two different binaries, one for
  21. AS225 and one for AmiTCP.  Furthermore, it is relatively easy to add support
  22. for other network packages.
  23.  
  24. The following are the changes made since the previous release:
  25.  
  26.     Ixemul no longer uses async writes. All I/O is now synchronous. This
  27.     allowed me to remove several Disable()/Enable() pairs, and actually
  28.     made ixemul faster. Apparently the overhead in handling async I/O was
  29.     substantial.
  30.  
  31.     Applied patches from Jeff Shepherd fixing various problems in the
  32.     ixnet.library. Among them improved AS225 passwd handling.
  33.  
  34.     Moved the resolver functions out of ixnet.library into libc.a. All
  35.     programs that used these functions will have to be recompiled. Very
  36.     few programs use these functions, and since they are really higher
  37.     level functions and do not belong in a low level library like ixnet,
  38.     I've moved them.
  39.  
  40.     Also moved tty database functions (getttyent() and friends, ttyname()
  41.     and ttyslot()) to libc.a, for much the same reason.
  42.  
  43.     Added the NetBSD DB sources to libc.a and removed the hacked versions
  44.     from ixnet.
  45.  
  46.     Replaced various headers with the NetBSD versions. Important for
  47.     certain socket-related ioctl defines that were incorrect in the old
  48.     headers.
  49.  
  50.     Added ptrace(GETA4, pid, 0, 0) to obtain the value of the a4 register
  51.     if this executable was compiled with -fbaserel or -resident. Needed
  52.     by gdb to find out where the data section is.
  53.  
  54.     Added ptrace(GETEXENAME, pid, 0, 0) to obtain the name of the current
  55.     executable. Useful in scripts that start with '#!/bin/sh' or
  56.     something similar. 'argv[0]' as seen by sh is the name of the script,
  57.     but if you want to get the pathname of 'sh' itself, you can use this
  58.     ptrace call.
  59.  
  60.     Added setlocale() and ctermid() to libc.a.
  61.  
  62.     It is now possible to unlink() a file that is owned by another
  63.     process (just like Unix). Gcc uses this to remove temporary files
  64.     that are actually owned by cpp (or as). Of course, on the Amiga this
  65.     is implemented as a delayed delete, i.e. a flag is set in the 'struct
  66.     file' to tell ixemul to delete the file when it is closed by the
  67.     owner process.
  68.  
  69.     Added support for a root ('/') directory. This will only work for
  70.     programs that use ixemul.library. So if you start pdksh, 'cd' to the
  71.     root (cd /) and use the AmigaDOS command 'list' to view this
  72.     directory, then you won't get what you expect. If you use the Unix ls
  73.     command however, then you will see all the volumes that you have as
  74.     top level directories.
  75.  
  76.     Removed an old hack in __wait_packet.c that interfered with Ctrl-F
  77.     handling.
  78.  
  79.     Fixed a bug in fnctl(), F_SETFL.
  80.  
  81.     Added AFS, AFSFloppy and PFS support.  Many thanks to the AFS author,
  82.     Michiel Pelt, who provided me with the necessary technical
  83.     information, and to Kriton Kyrimis for giving some very useful
  84.     suggestions.
  85.  
  86.     Added MultiUserFileSystem support, contributed by Mike Krings. Thanks
  87.     Mike!
  88.  
  89.     Added new function ix_warning: similar to ix_panic, but allows the
  90.     user to choose between "Continue" and "Abort". This to work around a
  91.     case like:
  92.  
  93.         for (;;) crypt();
  94.  
  95.     where one couldn't break out of the program because the requester
  96.     kept popping up.
  97.  
  98.     Fixed -mstackcheck support and fixed buggy baserel-stackextend
  99.     support.
  100.  
  101.     The call socket(AF_UNIX, SOCK_STREAM, 0) no longer crashes if
  102.     ixnet.library is not installed.
  103.  
  104.     Reorganized Makefiles. I've removed the option to compile each source
  105.     separately, instead they are always catenated together. Also, 'make'
  106.     no longer starts itself two more times in order to make the
  107.     library. I've used GNU make wizardry to let 'make' figure out all the
  108.     targets by itself.
  109.  
  110.     Sigsetjmp and siglongjmp were broken. Fixed.
  111.  
  112.     Replaced the old man pages with the new NetBSD manual pages in the
  113.     original troff form.
  114.  
  115.     Replaced the nice() stub in ix_stub with nice.c from NetBSD.
  116.  
  117.     Removed a Delay(100) that was called just before a vfork()ed program
  118.     finally terminated.
  119.  
  120.     Made h_errno a global variable like errno.
  121.  
  122.     At several places in the library the errno variable was reset to 0.
  123.     However, the library should (almost) never set errno to 0. This
  124.     caused problems with the 'ping' program, where recvfrom set errno to
  125.     4, but the library changed it back to 0 before 'ping' got to see it.
  126.  
  127.     Now sets st_uid and st_gid from a 'stat' structure to the effective
  128.     UID and GID. Some programs tested these fields and they failed when
  129.     using networking support. These fields used to be 0.
  130.  
  131.     Reread the global environment variables only when 1) a new program is
  132.     started, and 2) the ENV: directory has been changed (i.e., a new
  133.     setting was added to ENV:). ENV: used to be read every time a program
  134.     was started, whether it was needed or not.
  135.  
  136.     Given the shell script s.sh in /ram/t:
  137.  
  138.         #!/bin/sh
  139.         /bin/echo $0
  140.  
  141.     'sh /ram/t/s.sh' produced '/ram/t/s.sh', while typing '/ram/t/s.sh'
  142.     from within the pdksh shell produced 'Ram:t/s.sh'. Fixed.
  143.  
  144.     Removed a dubious CurrentDir() to a *file* instead of a directory.
  145.     While this is apparently supported for the standard AmigaOS
  146.     filesystems, not all third-party filesystems supported this.
  147.  
  148.     When you try to use a >68020 ixemul.library on a 68000 Amiga, you now
  149.     get a decent message instead of a crash.
  150.  
  151. The net ixemul library distribution consists of several archives:
  152.  
  153.   ixemul-bin.lha    Utils for gnu/bin, like ixtrace and ixconfig
  154.  
  155.   ixemul-sdk.lha    Files needed to build applications that use
  156.             ixemul.library.
  157.  
  158.   ixemul-doc.lha    Various documentation, such as this file
  159.  
  160.   ixemul-src.lha    Complete source code for ixemul library
  161.  
  162.   ixemul-tz.lha        Pieces for doing TZ (timezone) management
  163.  
  164.   ixemul-CCCF.lha    Specific flavors of the library, where 'CCC'
  165.             is one of 000, 020, 030, or 040, for 68000, 68020,
  166.             68030, and 68040 respectively, and 'F' is either
  167.             'f', 's', or 't' for FPU support or soft floating
  168.             point or a "trace" version (also soft float)
  169.             respectively.
  170.  
  171. For further information consult the NEWS, INSTALL, README and TODO files in
  172. the documentation archive.
  173.  
  174. -Fred Fish  (fnf@ninemoons.com)
  175.